// package语句：声明当前类所在的包
// com.itheima.capsulation表示这是在封装演示相关的包中
package com.itheima.capsulation;


// public是访问修饰符，表示这个类可以被任何地方访问
// class关键字用于定义一个类
// Test是类名，表示这是一个测试类，用于测试Student类的功能
public class Test {
    // main方法：Java程序的入口点
    // public static void是固定格式
    // String[] args是命令行参数数组
    public static void main(String[] args) {
        // 注释：说明这个程序的目标是理解封装的设计思想
        // 封装的核心思想是：合理隐藏，合理暴露
        // 通过private隐藏内部数据，通过public的getter/setter方法暴露访问
        
        // 创建Student类的对象
        // Student s1: 声明一个类型为Student的变量s1
        // new Student(): 调用Student类的构造方法，在内存中创建一个Student对象
        // 整体含义：将创建的Student对象的引用赋值给变量s1
        Student s1 = new Student();
        
        // 调用对象的setter方法给私有成员变量赋值
        // s1.setAge(19): 调用s1对象的setAge方法，传入参数19
        // 这是封装的合理暴露方式，不是直接修改age属性
        s1.setAge(19); 
        
        // 调用对象的getter方法获取私有成员变量的值
        // s1.getAge(): 调用s1对象的getAge方法，获取age的值
        // System.out.println(): 将获取到的值打印到控制台
        System.out.println(s1.getAge()); 
    }
}
